Skip to content

Contributors ranking#911

Open
indresh404 wants to merge 11 commits into
Priyanshu-byte-coder:mainfrom
indresh404:contributors-ranking
Open

Contributors ranking#911
indresh404 wants to merge 11 commits into
Priyanshu-byte-coder:mainfrom
indresh404:contributors-ranking

Conversation

@indresh404
Copy link
Copy Markdown
Contributor

Summary

Implemented a Contributors Ranking System on the DevTrack homepage featuring a premium leaderboard UI with GitHub contributor integration and robust fallback handling.

Closes #910

Type of Change

  • Bug fix
  • New feature
  • Documentation update
  • Refactor / code cleanup

Changes Made


How to Test

  1. Run the development server:

    npm run dev
  2. Open the homepage and verify:

    • Top 3 podium layout renders correctly
    • Remaining contributors appear in responsive grid layout
    • Rankings and contribution counts display properly
  3. Test responsiveness on desktop and mobile screen sizes

  4. Temporarily disable/fail the GitHub API request and verify:

    • fallback contributor data renders correctly
    • layout remains stable
  5. Run verification commands:

    npm run type-check
    npm run lint

Screenshots (if UI change)

image

Checklist

  • Linked issue in summary
  • npm run lint passes locally
  • No TypeScript errors (npm run type-check)
  • Self-reviewed the diff
  • Added/updated tests if applicable

@vercel
Copy link
Copy Markdown

vercel Bot commented May 24, 2026

@indresh404 is attempting to deploy a commit to the PRIYANSHU DOSHI's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions github-actions Bot added the gssoc26 GSSoC 2026 contribution label May 24, 2026
@github-actions
Copy link
Copy Markdown

GSSoC Label Checklist 🏷️

@Priyanshu-byte-coder — please apply the appropriate labels before merging:

Difficulty (pick one):

  • level:beginner — 20 pts
  • level:intermediate — 35 pts
  • level:advanced — 55 pts
  • level:critical — 80 pts

Quality (optional):

  • quality:clean — ×1.2 multiplier
  • quality:exceptional — ×1.5 multiplier

Validation (required to score):

  • gssoc:approved — counts for points
  • gssoc:invalid / gssoc:spam / gssoc:ai-slop — does not score

Type labels (type:*) are auto-detected from files and title. Review and adjust if needed.
Points formula: (difficulty × quality_multiplier) + type_bonus

@indresh404
Copy link
Copy Markdown
Contributor Author

@Priyanshu-byte-coder /review

Copy link
Copy Markdown
Contributor Author

@indresh404 indresh404 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

checked

@Priyanshu-byte-coder Priyanshu-byte-coder added level:intermediate GSSoC: Intermediate difficulty (35 pts) gssoc:invalid GSSoC: Invalid contribution labels May 24, 2026
@Priyanshu-byte-coder
Copy link
Copy Markdown
Owner

Review: gssoc:invalid

Issues found:

  1. Hardcoded fake contributor dataFALLBACK_CONTRIBUTORS contains invented usernames (Anjali-Sharma, Neha-Gupta, Rohan-dev, AaravCode) with fabricated contribution counts. This would show false data to real users if the GitHub API fails.

  2. Self-promotional code — The isFirstCreator/isSecondCreator/isThirdCreator checks specifically look for the PR author's own username (indresh404) to give their avatar a special animation. This is not appropriate for an open-source project.

  3. Unauthenticated GitHub API — Fetching contributors without a token hits rate limits quickly.

  4. Layout regressiontext-8xl makes the hero title disproportionately large.

Please rework with: real fallback data (or no fallback), remove the self-promotion check, and use a token for the API call.

@indresh404
Copy link
Copy Markdown
Contributor Author

@Priyanshu-byte-coder check now

@Priyanshu-byte-coder Priyanshu-byte-coder added the gssoc:approved GSSoC: PR approved for scoring label May 24, 2026
@indresh404
Copy link
Copy Markdown
Contributor Author

@Priyanshu-byte-coder whats the issue ?? of E2E??

@github-actions github-actions Bot added the type:testing GSSoC type bonus: tests (+10 pts) label May 24, 2026
@indresh404
Copy link
Copy Markdown
Contributor Author

@Priyanshu-byte-coder

Fixed the flaky test by stabilizing goal sync behavior in the E2E setup.

What I changed

  • Updated [e2e/dashboard-widgets.spec.js](D:\GSSOC\New folder\devtrack\e2e\dashboard-widgets.spec.js):
  • Added a mock route for POST /api/goals/sync so GoalTracker’s auto-sync doesn’t race or hang.
  • Made the failing test less timing-sensitive:
  • goto now waits for "load" first.
  • waits for Dashboard heading before widget assertions.
  • kept a networkidle wait after page is present.
  • uses getByText("Make 10 commits", { exact: true }) visibility check.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc:approved GSSoC: PR approved for scoring gssoc:invalid GSSoC: Invalid contribution gssoc26 GSSoC 2026 contribution level:intermediate GSSoC: Intermediate difficulty (35 pts) type:testing GSSoC type bonus: tests (+10 pts)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] Add contributors leaderboard in home age

2 participants